<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>

</head>

<body>
    <script>
        // (function (b) {
        //     console.log(b); //1
        //     var b = c = 2;
        //     console.log(b); //2
        // })(1)


        // (function (b) {
        //     console.log(b);  //function b(){}
        //     var b = c = 2;
        //     console.log(b); //2
        //     function b() { }
        //     console.log(b); //2
        // })(1)


        // (function () {
        //     var a = b = 3;
        // })();

        // console.log((typeof a !== 'undefined')); // flase
        // console.log((typeof b !== 'undefined')); //true


        // (function (x) {
        //     return (function (y) {
        //         console.log(x); //1
        //     })(2)
        // })(1);


        // var myObject = {
        //     foo: "bar",
        //     func: function () {
        //         var self = this;
        //         console.log(this.foo);  //bar
        //         console.log(self.foo);  //bar
        //         (function () {
        //             console.log(this.foo); //undefined
        //             console.log(self.foo); //bar
        //         }());
        //     }
        // };
        // myObject.func();


        // 写一个下面两种方式都能调用的函数
        // console.log(sum(2, 3)); // Outputs 5
        // console.log(sum(2)(3)); // Outputs 5


    </script>
</body>

</html>